treeexpander: Implement input support
authorBenjamin Otte <otte@redhat.com>
Tue, 15 Oct 2019 04:07:26 +0000 (06:07 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 30 May 2020 23:26:45 +0000 (19:26 -0400)
commit1dbd017766e021bd85cc495b114c6cc24aaa3a4f
treeda342f8614312f3ba9fcd412c2b2b7794332371a
parent08d9a57c6e1022143c747799dd10043a7275a196
treeexpander: Implement input support

This implements all the keybindings from GtkTreeView that can be
supported.

It does not implement expand-all, because supporting that means
causing the TreeListModel to emit lots of create_model vfuncs which in
turn would cause many items-changed signal which in turn would cause
many signal handlers to run which in turn would make "expand-all" very
reentrant, and I'm uneasy about supporting that.

For the mouse, just add a click gesture to the expander icon that toggles
expanded state.
gtk/gtktreeexpander.c